User interface for special purpose controller

ABSTRACT

A temperature controller for controlling the temperature of an inside space that is serviced by one or more pieces of HVAC equipment. The temperature controller may include a controller having a control algorithm for controlling one or more pieces of HVAC equipment as well as a user interface that may be configured to display a hierarchical menu structure and to permit a user to traverse the menu structure. The user interface may be configured to display breadcrumbs that provide an indication to the user of the current location within a hierarchical menu structure, and in some cases, provide instructional information in a designated or common display area that helps instruct the user in using a particular menu or menu option. These and other features may help make the special purpose controller more intuitive to set up, program and operate.

TECHNICAL FIELD

The disclosure relates generally to controllers and more particularly tospecial purpose controllers.

BACKGROUND

Special purpose controllers are commonly used today to control andmanage a wide variety of equipment and systems. Unlike general-purposecomputer systems, such as personal computers, special purposecontrollers are designed and used for specific applications. Specialpurpose controllers can include, for example, traffic light controllers,factory equipment controllers, building controllers such as HVACcontrollers, security system controllers, lighting controllers, andother types of application specific controllers or systems. Some specialpurpose controllers are completely encapsulated by or dedicated to thedevices or systems that they control.

Special purpose controllers can be difficult to set up, program andoperate, as they frequently have relatively small displays and/or a menustructures that are not very intuitive. As a result, many users getfrustrated when interacting with such special purpose controllers, andultimately, often fail to take advantage of many of their featuresand/or capabilities. Thus, a need remains for a special purposecontroller that is more intuitive and easy to set up, program and/oroperate.

SUMMARY

The present disclosure relates to a special purpose controller thatincludes a user interface that is easy to set up, program and/oroperate. In one illustrative embodiment, a special purpose controller,such as a temperature controller, is provided that includes a controllerand a user interface. The controller has a control algorithm forcontrolling one or more pieces of equipment that are located remotelyfrom the controller, such as one or more pieces of HVAC equipment. Theuser interface is configured to display a hierarchical menu structure onthe display, and permits a user to traverse the hierarchical menustructure. In some cases, the user interface may be configured todisplay a number of programming menus that display and/or solicitchanges to one or more programmable parameters.

In some instances, the special purpose controller may be configured todisplay one or more breadcrumbs that provide an indication to the userof a current location within the hierarchical menu structure. This mayhelp prevent the user from becoming lost or confused as to where he/sheis within the hierarchical menu structure.

Alternatively, or in addition, the special purpose controller may beconfigured to display instructional information that relates to aparticular programming parameter to be entered or selected. Theinstructional information may provide instructions on how to respond toa corresponding menu option. In some instances, all menus that solicit avalue or a selection from a user display instructional information in acommon or fixed area of the display. Also, and in some cases, theinstructional information may be presented in a consistent or commonformat. By providing the instructional information in a common or fixedarea of the display and/or in a consistent format, a more intuitive lookand feel may be achieved, making the user interface easier to understandand follow.

In some cases, the user interface may include a number of buttons thatcan be used in conjunction with the menus. The particular arrangement ofthe buttons, along with interaction of the buttons with the menus, alsocan make the user interface more intuitive to use.

The above summary is not intended to describe each disclosed embodimentor every implementation of the present invention. The Figures andDetailed Description that follow more particularly exemplify theseembodiments.

BRIEF DESCRIPTION OF THE FIGURES

The disclosure may be more completely understood in consideration of thefollowing detailed description of various embodiments of the inventionin connection with the accompanying drawings, in which:

FIG. 1 is a block diagram of an environmental control system includingan illustrative but non-limiting environmental control device;

FIG. 2 is a perspective view of an illustrative but non-limitingenvironmental control device such as might be used in FIG. 1;

FIG. 3 is back view showing the electrical connections of theillustrative environmental control device 10; and

FIGS. 4 through 56 are diagrammatic front views of a portion of theillustrative environmental control device of FIG. 2, showing aspects ofits operation.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

The following description should be read with reference to the drawings,in which like elements in different drawings are numbered in likefashion. The drawings, which are not necessarily to scale, depictselected embodiments and are not intended to limit the scope of theinvention. Although examples of construction, dimensions, and materialsare illustrated for the various elements, those skilled in the art willrecognize that many of the examples provided have suitable alternativesthat may be utilized.

The present invention relates to special purpose controllers. Forillustrative purposes, some features are discussed herein with respectto an environmental control system. However, this is not to be limiting.It should be understood that the present invention is equally applicableto a wide variety of special purpose controllers that are adapted tocontrol a wide variety of devices or equipment.

An environmental control system may be used to control one or moreenvironmental conditions of a space, such as temperature, humidity,ventilation, lighting, and the like. A space may include, for example, abuilding or a portion of a building, an office, a barn or similarstructure, water in a swimming pool, and the like. Such an environmentalcontrol system may include one or more environmental control devices.The environmental control devices may include a control algorithm thatis adapted to control, for example, a swimming pool heater, aventilator, a furnace, an air conditioner, a boiler system, a securitysystem, lighting or any other type of device or equipment. In manycases, the equipment that is controlled by the environmental controldevice may be located remotely from the environmental control device,but this is not required in all embodiments. In some instances, theenvironmental control device may be an HVAC controller, such as atemperature controller (e.g. a thermostat).

FIG. 1 is a block diagram of an environmental control system 12including an illustrative but non-limiting environmental control device10. Environmental control device 10 may be in communication withenvironmental control equipment 14 and/or sensors 16. Environmentalcontrol equipment 14 may include any equipment that is or can beconfigured to condition or otherwise alter or detect the environmentalconditions within a space. Environmental control equipment 14 mayinclude, for example, HVAC equipment such as heating, cooling and/orventilating equipment, or perhaps security and/or lighting equipment.

Sensors 16 may be any sensor or sensors that can sense or otherwisedetect environmental conditions within a space and communicate thisinformation to environmental control device 10. Examples of suitablesensors 16 include temperature sensors, humidity sensors, motionsensors, light detectors, etc. In some cases, sensors 16 may includesafety-related sensors such as, for example, carbon monoxide sensors. Asillustrated, sensors 16 are in communication with environmental controldevice 10. In some cases, sensors 16 may instead, or in addition, be incommunication directly with environmental control equipment 14, ifdesired.

In some instances, environmental control device 10 may include or becomposed of several elements that may be combined within a singlehousing or structure or may, if desired, be disposed within two or moredistinct housings. In the illustrative embodiment, environmental controldevice 10 includes a controller 18 and a user interface 20. An I/Osegment 22 may provide electrical connections or otherwise permitcommunication between environmental control device 10 and externalelements such as environmental control equipment 14 and/or sensors 16.In some cases, environmental control device 10 may also include a relaysegment 24 that can, through I/O segment 22, selectively provide powerto externally located devices such as environmental control equipment14.

Controller 18 may be configured to display appropriate prompts on userinterface 20, and to accept user inputs from user interface 20. Whilenot expressly illustrated, controller 18 may include memory for storingmenus, parameters and other operational data, as well as for storingprogramming instructions. Controller 18 may include flash memory orother types of memory, as known.

Along with operating user interface 20, controller 18 may have a controlalgorithm for controlling one or more pieces of equipment, such asenvironmental control equipment 14. The control algorithm may provideappropriate commands for operating environmental control equipment 14 aswell as accepting sensor input from sensors 16. In some cases,controller 18 may provide command signals directly to I/O segment 22that are then transmitted to environmental control equipment 14. Inother cases, controller 18 may transmit command signals to relay segment24 that, in turn, selectively provide power or other control signals toone or more devices within environmental control equipment 14.

User interface 20 may take a wide variety of different forms. Userinterface 20 can include, for example, one or more of an alpha-numericdisplay, a graphical display, and/or a key pad having one or more keysor buttons. In some cases, user interface 20 can include a touch screenthat can be used to both display appropriate information to the user, aswell as to accept information from the user, as desired. In someinstances, user interface 20 may include a display screen and one ormore tactile buttons separate from the display screen, A display screenmay be an LED display, an LCD display, or any other suitable displayformat discernible to the human eye. Buttons, if included, may be usedto scroll through menus that are displayed on the display screen,increase parameter values, decrease parameter values, select values, andthe like, as will be discussed in more detail with respect to subsequentFigures.

FIG. 2 is a perspective view of an illustrative but non-limitingenvironmental control device 10. The illustrative environmental controldevice 10 includes a housing 26. In some cases, and as illustrated,housing 26 may include a front housing portion 28 and a rear housingportion 30. Front housing portion 28 may have a height that is at leastabout twice its width, or may have a height that is about three timesits width, but this is not required. In some instances, one or morehinges 32 disposed along one side of housing 26 may hingedly securefront housing portion 28 to rear housing portion 30. If desired, one ormore apertures 34 may be disposed along a side of housing 26 and mayaccommodate fasteners such as screws or bolts (not shown) to help fastenfront housing portion 28 to rear housing portion 30. In other instances,front housing portion 28 may, for example, simply snap or otherwiseengage rear housing portion 30.

The illustrative environmental control device 10 includes a display 36and a control pad 38. In some instances, display 36 and control pad 38may be considered, in tandem, a user interface 20 (FIG. 1). In somecases, control pad 38 may be disposed vertically below display 36, butthis is not required. The display 36 may consume 10%, 20%, 30%, 40% ormore of the front surface area of the housing, and may have a verticalheight that is at least 1.5 times as great as its width. In this,relative vertical position merely refers to the illustrated orientation,as environmental control device 10 may function in any particularorientation. Display 36 may be used to display, for example, a varietyof alphanumeric characters, icons, or any other type of information, asdesired. In some cases, display 36 may be considered as including anupper portion 40 and a lower portion 42.

In some operating conditions, alphanumeric characters such as lettersand numbers may be displayed on display 36, and the information may bedisplayed on all or substantially all of display 36. In some operatingor programming conditions, upper portion 40 and/or lower portion 42 maybe reserved or dedicated to displaying particular information pertainingto the operating or programming condition that environmental controldevice 10 is currently in.

For example, in some circumstances, upper portion 40 of display 36 maybe used to display breadcrumb information. Controller 18 (see FIG. 1)may be programmed to display a hierarchical menu structure on display36, and may also display one or more breadcrumbs on the upper portion 40of display 36. The breadcrumbs may provide an indication to the user ofa current location within the hierarchical menu structure, as will beillustrated further in subsequent Figures. In some instances, thebreadcrumb information may provide a hierarchical path of a currentlocation within the hierarchical menu structure, which may, if desired,include a designator or label for each hierarchical level down to thecurrent level within the hierarchical menu structure.

Each designator or label may be displayed vertically one above the otherwithin upper portion 40 of display 36, but this is not required in allembodiments. For example, if three successive levels of a hierarchicalmenu structure are available, a first level breadcrumb may be displayedwithin upper portion 40 of display 36. Once a second level has beenselected, a second level breadcrumb may be displayed within upperportion 40 of display 36, vertically below the first level breadcrumb.Once a third level has been selected, a third level breadcrumb may bedisplayed within upper portion 40 of display 36, vertically below thesecond level breadcrumb. Thus, and in this illustrative example, a usermay see how they reached a particular portion or level within ahierarchical menu structure, and may have ready access to the currentmenu location within the hierarchical menu structure. In some cases,upper portion 40 of display 36 may accommodate a total of one, two,three, four, five or more breadcrumbs.

In some instances, lower portion 42 may be used to display instructionalinformation pertaining to operating environmental control device 10. Forexample, a user may be at a point within the menu structure in which aparticular parameter is to be set or selected. In this situation,controller 18 (FIG. 1) may display instructional information withinlower portion 42 that tells a user what parameter is being set orselected and/or how to set and/or select the parameter. By alwaysproviding the instructional information in the same region of thedisplay, the user may quickly understand where to look for help orguidance when operating the operating environmental control device 10.However, it should be recognized that in some embodiments theinstructional information need not always be displayed in the sameregion of the display.

In some instances, controller 18 may include a control algorithm thatuses a number of programmable control parameters. The controller 18 maybe adapted to display two or more programming menus that each solicitfrom a user changes to one or more of the programmable controlparameters. Each programming menu may include one or more userinstructions that may be displayed within the lower portion 42 ofdisplay 36. That is, and in some cases, the lower portion 42 of thedisplay may be dedicated to displaying instructional information thatrelates to the particular programming parameter to be entered orselected for that menu.

In some cases, the instructional information may provide instructions onhow to respond to a corresponding menu option. In some instances, allmenus that solicit a value or a selection from a user displayinstructional information in a common or fixed area of the display, suchas lower portion 42. In some cases, the instructional information may bepresented in a consistent or common format, such as “SELECT [A] FOR [B]”or “ENTER [A] FOR [B]”, where [A] describes the parameter and [B]describes what part of the environment control device the selectionapplies. By providing the instructional information in a common or fixedarea of the display, such as lower portion 42, and/or in a consistentformat, a more consistent look and feel may be achieved, making the userinterface more intuitive to use.

In some instances, at least one of the programming menus may solicit aselection between two or more displayed choices, and the instructionalinformation displayed within lower portion 42 of display 36 may ask theuser to make a selection. On other instances, at least one of theprogramming menus may solicit a parameter value, and the instructionalinformation displayed within lower portion 42 of display 36 may instructthe user to enter a parameter value.

In some instances, upper portion 40 of display 36 may be reserved fordisplaying breadcrumb information while lower portion 42 of display 36may be reserved for displaying instructional information, at least forsome menus of the hierarchical menu structure. It will be recognized,however, that in some cases lower portion 42 of display 36 may be usedfor breadcrumb information while upper portion 40 of display 36 may beused for instruction information. In some instances, display 36 mayinclude an intermediate portion 44 that may, in some cases, be used todisplay breadcrumb information and/or instruction information, ifdesired. In some cases, it is contemplated that intermediate portion 44of display 36 may provide additional display space for either thebreadcrumb information displayed in upper portion 40 of display 36 orthe instructional information displayed in lower portion 42 of display36, if so desired.

Control pad 38 may include one or more buttons such as electromechanicalbuttons. In some cases, control pad 38 may include an up button 46 and adown button 48. A next button 50 and a back button 52 may also beincluded in control pad 38. In some cases, a program menu button 54 thatmay be configured to initiate a programming mode may be disposed withincontrol pad 38. Control pad 38 may include a home button 56 that may beconfigured to display a home page(s) on display 36. In some cases, thehome page(s) may display a value of one or more control parameters, avalue of a set point, a sensor input value and/or a control outputvalue, as well as other information as desired. In some instances, upbutton 46, down button 48, next button 50, back button 52, program menubutton 54 and home button 56 may be the only buttons present on thefront of environmental control device 10, but this is not required inall embodiments.

In some cases, up button 46 is positioned above down button 48, and nextbutton 50 is positioned to the right of back button 52. In someinstances, next button 50 is positioned to the right of up button 46 anddown button 48, and back button 52 is positioned to the left of upbutton 46 and down button 48. In some embodiments, up button 46, downbutton 48, next button 50 and back button 52 may be collectivelylaterally centered within control pad 38 and/or with respect to thehousing of the environmental control device 10. Home button 56 may bepositioned within an upper left portion of control pad 38 while programmenu button 54 may be positioned within an upper right portion ofcontrol pad 38 as shown.

As noted above, environmental control device 10 may provide ahierarchical menu structure that includes a number of hierarchicalmenus. In some cases, one or more of the menus may, in a programmingmode, query a user to enter a value or make a selection. One or more ofup button 46, down button 48, next button 50 and/or back button 52 maybe used to enter the requested value or make the requested selection.

In some instances, at least one of the menus includes, in theprogramming mode, a first indicator for identifying a current activemenu on display 36 and one or more second indicators for identifyingcurrently available or selected sub-menus. The current active menu mayinclude a first indicator associated with the first menu label forindicating that a menu immediately above the current active menu may beactivated by depressing back button 52. A second indicator may beassociated with a currently selected sub-menu for indicating that thecurrently selected sub-menu may be activated by depressing the nextbutton 50, as will be further described below.

FIG. 3 is back view showing the electrical connections of theillustrative environmental control device 10. It is contemplated thatthe illustrative environmental control device 10 may be adapted toprovide a degree of flexibility in its application. For example,environmental control device 10 may be configured such that it can bepowered either using line voltage (120/240 volts), or a low voltage (24volts) commonly associated with HVAC and other control systems withoutrequiring distinctly different control devices. As shown in FIG. 3,environmental control device 10 may include both a 24 volt powerconnection 60 as well as a 120/240 volt power connection 62. Dependingon the specific environmental control equipment 14 (FIG. 1) thatenvironmental control device 10 is to control, an installer may make theappropriate power connections to environmental control device 10. Insome cases, both power sources may be used.

The illustrative environmental control device 10 is also configured toinclude a digital input 64. In some cases, environmental control device10 may not include a time keeping function, and thus it may beadvantageous to be able to connect an external time clock or similartimer. Digital input 64 may provide a connection for providingcommunication between an external time clock (not illustrated) andcontroller 18 (FIG. 1). Alternatively, or in addition, other digitalinput signals may be provided to controller 18 via digital input 64. Itis contemplated that more that one digital inputs may be provided, ifdesired.

In some instances, environmental control device 10 may be configured toinclude a sensor A input 66 and a sensor B input 68. Sensor A input 66and/or sensor B input 68 may be used to connect one or more externalsensors such as sensors 16 (FIG. 1) to environmental control device 10.In some cases, environmental control device 10 may also include a mod 1(modulating output) connector 70 and a mod 2 (modulating output)connector 72. Mod 1 connector 70 and/or mod 2 connector 72 may be usedto connect expansion modules to environmental control device 10, asdesired or needed for a particular application.

The illustrative environmental control device 10 may also includes anoutput relay 1 connector 74, an output relay 2 connector 76, an outputrelay 3 connector 78 and an output relay 4 connector 80. Output relay 1connector 74, output relay 2 connector 76, output relay 3 connector 78and/or output relay 4 connector 80 may be used to provide connectionsbetween one or more relays internal to the environmental control device10 and equipment within environmental control equipment 14 (FIG. 1). Insome instances, the relays may be located within housing 26, while inother instances one or more of the relays may be disposed externally tohousing 26 such as at the remote equipment of environmental controlequipment 14.

While not required, the illustrative environmental control device 10 mayalso include a number of knock-outs 75 a-75 e that may be selectivelyremoved, or knocked out, by the installer to provide access openings toallow wires to pass into the housing. Various wires from theenvironmental control equipment 14 and/or sensors 16 may pass throughthe access openings to connect to the various terminals shown in FIG. 3.In some embodiments, access openings are provided through the housing,without the corresponding knock-outs 75 a-75 e.

FIGS. 4 through 56 are diagrammatic front views of a portion of theillustrative environmental control device of FIG. 2, showing aspects ofits operation. FIGS. 4, 5 and 6 provide illustrative but non-limitingexamples of different information that may be displayed on a homepage(s). The specific information shown in each of FIGS. 4, 5 and 6 maybe accessed by scrolling using next button 50 and/or back button 52 asappropriate. In FIG. 4, the relays are shown turned off, as displayedwithin upper portion 40 of display 36. In this particular illustration,environmental control device 10 (FIG. 1) is shown as including or beingconnected to a total of four relays. In some instances, environmentalcontrol device 10 may include or be connected to less than four relays,or may be include or be connected to more than four relays, as desired.

In FIG. 4, intermediate portion 44 of display 36 is displayinginformation regarding sensor A and sensor B. The information displayedmay be actual ambient temperatures currently being sensed by sensor Aand sensor B, respectively. In this example, sensor A is detecting atemperature of 72.5° Fahrenheit while sensor B is detecting atemperature of 68.0° Fahrenheit. Lower portion 42 of the illustrativedisplay 36 includes a DI ON icon, meaning that there is an external timeclock or other device connected to digital input 64 (FIG. 3) and/or thatthe external time clock or other device is operational.

FIG. 5 provides an example of a home page in which relays 1, 2 and 4 areturned on and relay 3 is either turned off or is not connected. It willbe recognized that each of the relays may be connected to and/orotherwise control specific equipment within environmental controlequipment 14 (FIG. 1). Information is displayed regarding relay 1, asshown at 51. It can be seen that the equipment controlled by relay 1includes cooling equipment, because a cooling setpoint is displayed. Thecurrent temperature setpoint for this equipment is 68.5° Fahrenheitwhile sensor A is detecting an actual temperature of 72.5° Fahrenheit.The status of relay 1 is shown as “on”, as can be seen at 53. Controller18 (FIG. 1) is displaying an illustrative run time for relay 1 of 12345hours. In this illustration, either no external time clock or otherdigital equipment is connected to digital input 64 (FIG. 3), or theexternal time clock or other digital equipment is off or otherwise notrunning, as evidenced by the DI OFF icon.

FIG. 6 provides an example of a home page in which relays 1, 2 and 4 areturned on and relay 3 is either turned off or is not connected. It willbe recognized that each of the relays may be connected to and/orotherwise control specific equipment within environmental controlequipment 14 (FIG. 1). Information is displayed regarding relay 2, asshown at 55. It can be seen that the equipment controlled by relay 2includes cooling equipment, because a cooling setpoint is displayed. Thecurrent temperature setback temperature is 66.0° Fahrenheit, whilesensor B is detecting an actual temperature of 68.0° Fahrenheit. Thestatus of relay 2 is shown as “on”, as can be seen at 57. Controller 18(FIG. 1) is displaying an illustrative run time for relay 2 of 12345hours. In this illustration, either no external time clock or otherdigital equipment is connected to digital input 64 (FIG. 3), or theexternal time clock or other digital equipment is off or otherwise notrunning, as evidenced by the DI OFF icon.

In the illustrative screen, a lock icon is displayed within lowerportion 42 of display 36. This may be used to indicate that control pad38 has been locked, i.e., frozen, so that an individual may be preventedfrom either accidentally or intentionally entering data or makingchanges to environmental control device 10. In some cases, control pad38 may be locked by pressing a particular key or combination of keys andmay be unlocked via a similar key pattern. For example, control pad 38may be locked by simultaneously pressing and holding the home button 56and menu button 54 for five seconds. Once locked, control pad 38 may beunlocked by once again simultaneously pressing and holding home button56 and menu button 54 for a period of time. Any combination of keys maybe used to lock and unlock control pad 38, as desired and as programmedinto controller 18 (FIG. 1). In some cases, the home screen shown inFIG. 6 may be accessed by hitting the next button 50 shown in FIG. 5.

FIG. 7 shows the beginning of a setup sequence in which a user mayselect (as displayed in intermediate portion 44 of display 36) betweensetting information pertaining to application type, informationpertaining to sensors, and/or information pertaining to outputs. A usermay, if desired, toggle or scroll through these options by pressing upbutton 46 and/or down button 48, as appropriate. Exiting is also anoption. In some instances, selecting EXIT will cause controller 18(FIG. 1) to revert to a previous menu or programming menu level in thehierarchical menu structure. In some cases, a user may loop through,i.e., pressing down button 48 when EXIT is highlighted will causecontroller 18 (FIG. 1) to scroll back up to APP TYPE. A particularoption may be selected by pressing next button 50, if desired. In theillustrated view, an indicator such as a right-facing arrow is displayednext to APP TYPE, indicating that this option may be selected bypressing next button 50.

Upper portion 40 of display 36 may display breadcrumbs providing a userwith information as to the current menu location within the hierarchicalmenu structure of controller 18, and/or how they got to a particularmenu or programming screen within the hierarchical menu structure. InFIG. 7, a SETUP breadcrumb is displayed, indicating that a user got tothe displayed menu location by selecting SETUP in a previous menu, suchas perhaps a programming menu reached by pressing menu button 54. In theillustrative embodiment, an indicator such as a left-facing arrow isdisplayed next to the SETUP breadcrumb, indicating that a user mayreturn to the previous menu by pressing back button 52.

In moving to FIG. 8, it can be seen that a user has selected the APPTYPE option in FIG. 7, and a second breadcrumb APP TYPE has beendisplayed within upper portion 40 of display 36. An indicator such as aleft-facing arrow may be displayed next to the APP TYPE breadcrumb toindicate that a user may, if desired, return to the previoushierarchical menu screen by pressing back button 52. Intermediateportion 44 of display 36 displays available application type options. Auser may toggle or scroll through these options using up button 46and/or down button 48. While only two application type options aredisplayed in FIG. 8, it will be recognized that the number andparticular application type options may be at least partially a functionof the specific equipment installed as part of environmental controlequipment 14 (FIG. 1).

Lower portion 42 of display 36 may include instructional informationpertaining to the selection that the user is being asked to make. In theparticular example of FIG. 8, the user is being asked to select theapplication type. A label such as a right-facing arrow is displayedwithin lower portion 42 of display 36, next to the instructionalinformation, to indicate that the user may select a particularapplication type by pressing next button 50 once the particularapplication type is highlighted using the up button 46 and/or downbutton 48, as appropriate.

In FIG. 9, a user has returned to the SETUP menu, as indicated by theSETUP breadcrumb displayed in upper portion 40 of display 36. A labelsuch as a left-facing arrow is displayed next to the breadcrumbinformation, indicating that a user may return to the previous menu bypressing back button 52. In FIG. 9, a user has scrolled down to theSENSORS option in order to provide controller 18 (FIG. 1) withinformation pertaining to the sensor or sensors that are or will beconnected to environmental control device 10.

Moving to FIG. 10, it can be seen that a user has selected the SENSORSoption in FIG. 9, as indicated by the SENSORS breadcrumb displayedwithin upper portion 40 of display 36. The SENSORS breadcrumb isvertically blow the SETUP breadcrumb, showing the current menu positionor path in the hierarchical menu structure of the controller 18. Theleft-facing arrow displayed next to the SENSORS breadcrumb indicatesthat the user may return to the previous screen (i.e. the SETUP menu) bypressing back button 52. In this particular menu screen, a user maychoose between specifying a number of sensors, information regardingsensor A or information regarding sensor B. It can be seen that the userhas highlighted # SENSORS by using up button 46 and/or down button 48,as necessary.

In FIG. 11, a #SENSORS breadcrumb and accompanying left-facing arrow hasbeen displayed within upper portion 40 of display 36, confirming thatthe user had (with reference to FIG. 10) selected the # SENSORS optionby pressing next button 50. The #SENSORS breadcrumb is shown verticallybelow the SENSORS breadcrumb, which is shown vertically blow the SETUPbreadcrumb, thereby providing a path to the current menu position withinthe hierarchical menu structure of the controller 18.

A number “2” is displayed within intermediate portion 44 of display 36,and instructional information is displayed within lower portion 42 ofdisplay 36. The instructional information asks the user to enter thenumber of sensors. In some cases, the user may increment the number ofsensors up or down using up button 46 and/or down button 48. Once thenumber of sensors has been entered, a user may return to the sensorsetup page (as shown in FIG. 10) by either pressing back button 52 (notsaving the entered value) or pressing next button 50.

In FIG. 12, it can be seen that the user has toggled or scrolled down tothe SENSORS A option of FIG. 10. It should be noted that the breadcrumbinformation displayed within upper portion 40 of display 36 is the samein FIG. 10 as in FIG. 12. Moving to FIG. 13, it can be seen that theuser did (with reference to FIG. 12), select SENSOR A, as a SENSOR Abreadcrumb is now displayed within upper portion 40 of display 36 alongwith a left-facing arrow. Within intermediate portion 44 of display 36,controller 18 (FIG. 1) is displaying options that the user may selectfrom using up button 46 and/or down button 48, as appropriate. In FIG.13, a user has scrolled or toggled to the UNITS option.

In FIG. 14, it can be seen that the user selected UNITS, as a UNITSbreadcrumb and accompanying left-facing arrow has been added to upperportion 40 of display 36. Intermediate portion 44 of display 36 providesUNIT options for selection by the user, while lower portion 42 ofdisplay 36 provides corresponding instructional information. The user isable to select from degrees Fahrenheit or degrees Celsius for sensor A.The user has toggled or scrolled to DEG F, as this can be seen as beinghighlighted. To select Fahrenheit for the units for sensor A, the usercan press next button 50, as indicated by the right facing arrowprovided with instructional information in lower portion 42.

In FIG. 15, the user has returned to the menu screen shown in FIG. 13,as demonstrated by the SENSOR A breadcrumb displayed within upperportion 40 of display 36. In this case, the user has toggled or scrolleddown to CALIBRATE, which can be selected, as indicated by theright-facing arrow displayed next to the CALIBRATE option, by pressingnext button 50.

Moving to FIG. 16, it can be seen that the user selected the CALIBRATEoption in FIG. 15, as a CALIBRATE breadcrumb and accompanyingleft-facing arrow has been added to upper portion 40 of display 36.Intermediate portion 44 of display 36 displays a calibration value. Thecalibration value may be increased or decreased by pressing up button 46and/or down button 48, as appropriate. The lower portion 42 of display36 displays instructional information asking the user to enter acalibration value for sensor A. The right-facing arrow next to theinstructional information tells the user that they may accept the valueby pressing next button 50.

In FIG. 17, the user has returned to the menu screen shown in FIG. 15,as demonstrated by the SENSOR A breadcrumb displayed within upperportion 40 of display 36. In this case, the user has toggled or scrolleddown to LABEL, which can be selected, as indicated by the right-facingarrow displayed next to LABEL option, by pressing next button 50.

Moving to FIG. 18, it can be seen that the user selected the LABELoption in FIG. 17, as a LABEL breadcrumb and accompanying left-facingarrow has been added to upper portion 40 of display 36. Intermediateportion 44 of display 36 displays a list of labels for SENSOR A. Theuser may scroll or toggle through the list by pressing up button 46and/or down button 48, as appropriate. The lower portion 42 of display36 displays instructional information asking the user to select adesired label for sensor A. The right-facing arrow next to theinstructional information tells the user that they may accept theselection by pressing next button 50.

In FIG. 19, the user has returned to the menu screen shown in FIG. 15,as demonstrated by the SENSOR A breadcrumb displayed within upperportion 40 of display 36. In this case, the user has toggled or scrolleddown to EXIT, which can be selected, as indicated by the right-facingarrow displayed next to the EXIT option, by pressing next button 50.

In FIG. 20, the user has returned to the menu screen shown in FIG. 12,as demonstrated by the SENSORS breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe SENSOR B option, which can be selected by pressing next button 50,as indicated by the right-facing arrow displayed next to the SENSOR Boption. The user may then, if desired, move through a variety of menuscreens to set various options and parameters for sensor B, similar tothat illustrated above for sensor A. In FIG. 21, the user has toggled orscrolled down to the EXIT option, which can be selected by pressing nextbutton 50, as indicated by the right-facing arrow displayed next toEXIT.

In FIG. 22, the user has returned to the menu screen shown in FIG. 9, asdemonstrated by the SETUP breadcrumb displayed within upper portion 40of display 36. In this case, the user has toggled or scrolled down tothe OUTPUTS option, which, as evidenced by the right-facing arrowdisplayed next to the OUTPUTS option, may be selected by pressing nextbutton 50.

Moving to FIG. 23, it can be seen that a user has selected the OUTPUTSoption in FIG. 22, as indicated by the OUTPUTS breadcrumb displayedwithin upper portion 40 of display 36. The left-facing arrow displayednext to the OUTPUTS breadcrumb indicates that the user may return to theprevious SETUP screen by pressing back button 52. In this particularmenu screen, a user may choose between specifying a number of relays orspecifying information regarding a particular relay. It can be seen thatthe user has highlighted the # RELAYS option by using up button 46and/or down button 48, as necessary.

In FIG. 24, a # RELAYS breadcrumb and accompanying left-facing arrow hasbeen displayed within upper portion 40 of display 36, confirming thatthe user had (with reference to FIG. 23) selected the # RELAYS option bypressing next button 50. A number “4” is displayed within intermediateportion 44 of display 36, and instructional information is displayedwithin lower portion 42 of display 36. The instructional informationasks the user to enter the number of desired relays. In some cases, theuser may increment the number of relays up or down using up button 46and/or down button 48.

Once the number of relays has been entered, a user may return to thesensor setup page (as shown in FIG. 23) by pressing back button 52 (i.e.not saving the entered value) or pressing the next button 50 (saving theentered value). In FIG. 25, it can be seen that the user has toggled orscrolled down to RELAY 1 in the menu screen of FIG. 23. Moving to FIG.26, the RELAY 1 breadcrumb displayed within upper portion 40 of display36 confirms that the user selected the RELAY 1 option in FIG. 23. In themenu screen shown in FIG. 26, the user is able to choose between a RESETand an EXIT option by toggling or scrolling via up button 46 and/or downbutton 48. In FIG. 27, it can be seen that the user selected the RESEToption by pressing next button 50, as evidenced by the RESET breadcrumbdisplayed within upper portion 40 of display 36. Intermediate portion 44of display 36 provides selection options, while lower portion 42 ofdisplay 36 provides instructional information.

In some cases, the options displayed at a particular menu screen maydepend on other equipment options, installations and the like. Forexample, FIG. 28 shows a menu screen similar to FIG. 26, as evidenced bythe RELAY 1 breadcrumb displayed within upper portion 40 of display 36.However, the options provided within intermediate portion 44 of display36 are different. In this case, the user is able to choose betweenRESET, RESET RT and EXIT. As evidenced by the right-facing arrowdisplayed next to RESET RT, the user is in the process of selectingRESET RT.

Moving to FIG. 29, the RESET RT breadcrumb displayed within upperportion 40 of display 36 confirms that the user selected the RESET RToption. Intermediate portion 44 of display 36 displays availableselection options, which in this case, are limited to YES and NO. Lowerportion 42 of display 36 provides the user with instructionalinformation, which in this particular menu screen, instructs the userthat they are to choose whether or not to reset the runtime counter orvalue for RELAY 1.

In FIG. 30, the user has returned to the menu screen shown in FIG. 28,as demonstrated by the RELAY 1 breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe EXIT option, which, as evidenced by the right-facing arrow displayednext to the EXIT option, may be selected by pressing next button 50.

In FIG. 31, the user has returned to the menu screen shown in FIG. 25,as demonstrated by the OUTPUTS breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe RELAY 2 option, which, as evidenced by the right-facing arrowdisplayed next to the RELAY 2 option, may be selected by pressing nextbutton 50. The user may then, if desired, move through a variety of menuscreens to set various options and/or parameters for RELAY 2, similar tothat illustrated above for RELAY 1.

Moving to FIG. 32, the user has returned to the menu screen shown inFIG. 31, as demonstrated by the OUTPUTS breadcrumb displayed withinupper portion 40 of display 36. In this case, the user has toggled orscrolled down to OPTIONS, which, as evidenced by the right-facing arrowdisplayed next to OPTIONS, may be selected by pressing next button 50.

In FIG. 33, the OPTIONS breadcrumb displayed within upper portion 40 ofdisplay 36 confirms that the user selected OPTIONS. Controller 18(FIG. 1) provides, within intermediate portion 44 of display 36, a listof available options. As illustrated, the user is choosing to configurethe minimum off time for the relays.

Moving to FIG. 34, the MIN OFF breadcrumb provided within upper portion40 of display 36 confirms that the user selected the MIN OFF option inFIG. 33. Intermediate portion 44 of display 36 displays a value that canbe increased or decreased using up button 46 and/or down button 48, asappropriate while lower portion 42 of display 36 provides instructionalinformation asking the user to enter a minimum off time for the relays.Once the user has adjusted the value appropriate, it can be entered bypressing next button 50.

Moving to FIG. 35, the user has returned to the menu screen shown inFIG. 33, as demonstrated by the OPTIONS breadcrumb displayed withinupper portion 40 of display 36. In this case, the user has toggled orscrolled down to the SHOW RT option, which, as evidenced by theright-facing arrow displayed next to the SHOW RT option, may be selectedby pressing next button 50.

In FIG. 36, the SHOW RT breadcrumb displayed within upper portion 40 ofdisplay 36 confirms that the user has selected the SHOW RT option.Controller 18 (FIG. 1) provides, within intermediate portion 44 ofdisplay 36, a list of available options. As illustrated, the user ischoosing to specify whether or not to show the run time for the relays,as explained by the instructional information displayed by controller 18within lower portion 42 of display 36. The user can select NO, which ishighlighted, by pressing next button 50. This is evidenced by theright-facing arrow displayed within lower portion 42 of display 36.

Moving to FIG. 37, the user has returned to the menu screen shown inFIG. 35, as demonstrated by the OPTIONS breadcrumb displayed withinupper portion 40 of display 36. In this case, the user has toggled orscrolled down to DI OPTION, which, as evidenced by the right-facingarrow displayed next to DI OPTION, may be selected by pressing nextbutton 50.

In FIG. 38, the DI OPTION breadcrumb displayed within upper portion 40of display 36 confirms that the user selected DI OPTIONS. Controller 18(FIG. 1) provides, within intermediate portion 44 of display 36, a listof available options. As illustrated, the user is asked to choosebetween DISABLE, SETBACK and IGNORE, as explained by the instructionalinformation displayed by controller 18 within lower portion 42 ofdisplay 36. The user can select a desired option by toggling orscrolling through the displayed options using up button 46 and/or downbutton 48, as desired.

In FIG. 39, the user has returned to the menu screen shown in FIG. 35,as demonstrated by the OPTIONS breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe EXIT option, which, as evidenced by the right-facing arrow displayednext to the EXIT option, may be selected by pressing next button 50.

In FIG. 40, the user has returned to the menu screen shown in FIG. 32,as demonstrated by the OUTPUTS breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe EXIT option, which, as evidenced by the right-facing arrow displayednext to the EXIT option, may be selected by pressing next button 50.

In FIG. 41, the user has returned to the menu screen shown in FIG. 9, asdemonstrated by the SETUP breadcrumb displayed within upper portion 40of display 36. In this case, the user has toggled or scrolled down tothe EXIT option, which, as evidenced by the right-facing arrow displayednext to the EXIT option, may be selected by pressing next button 50.

FIG. 42 illustrates a home page in which relays 1, 2 and 4 are on, andin which the user has toggled through home page options to reach ascreen displaying sensor information. A sensor or other informationsource labeled ROOM A is returning a sensed value of 72.5° Fahrenheit,while SENSOR B is returning a sensed value of 68.0° Fahrenheit. In somecases, a sensor may retain a label such as SENSOR A, SENSOR B, and thelike. Alternatively, a particular sensor may be labeled in accordancewith its location, such as ROOM A, BOILER, and the like. Some examplelabels are shown in FIG. 18.

The previous Figures have provided illustrative but non-limitingexamples of menu screens that may be encountered while engaged in setupof environmental control device 10 (FIG. 1). In some cases,environmental control device 10 may also accommodate a variety of menuor programming menu screens, as shown in the ensuing Figures.

In FIG. 43, the MENU/PROGRAM breadcrumb information displayed withinupper portion 40 of display 36 indicates that the user has selected aPROGRAM option from a menu level within the hierarchical menu structure.The left-facing arrow displayed next to the PROGRAM breadcrumb indicatesthat pressing back button 52 would permit the user to return to the MENUlevel. Intermediate portion 44 of display 36 provides the user with alist of available options. In this particular menu screen, the user isable to select from a list of relays.

Moving to FIG. 44, the RELAY 1 breadcrumb displayed within upper portion40 of display 36 confirms that the user selected RELAY 1 in FIG. 43. InFIG. 44, the user is provided with a list of options pertaining to relay1. In FIG. 45, it can be see via the SETPOINT breadcrumb provided withinupper portion 40 of display 36 that the user selected the SETPOINToption in FIG. 44. Controller 18 (FIG. 1) provides, via intermediateportion 44 of display 36, a setpoint value to adjust. Lower portion 42of display 36 displays, courtesy of controller 18, instructionalinformation asking the user to enter a setpoint value for relay 1. Thesetpoint value for relay 1 can be increased or decreased using up button46 and/or down button 48, as appropriate. Pressing next button 50 willenter the value, as indicated by the right-facing arrow disposed next tothe instructional information.

In FIG. 46, the user has returned to the menu screen shown in FIG. 44,as demonstrated by the RELAY 1 breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe SETBACK option, which, as evidenced by the right-facing arrowdisplayed next to the SETBACK option, may be selected by pressing nextbutton 50.

Moving to FIG. 47, the SETBACK breadcrumb displayed within upper portion40 of display 36 confirms that the user selected the SETBACK option inFIG. 46. Controller 18 (FIG. 1) provides, via intermediate portion 44 ofdisplay 36, a setback setpoint value to adjust. Lower portion 42 ofdisplay 36 displays, courtesy of controller 18, instructionalinformation asking the user to enter a setback setpoint value for relay1. The setback setpoint value for relay 1 can be increased or decreasedusing up button 46 and/or down button 48, as appropriate. Pressing nextbutton 50 will enter the value, as indicated by the right-facing arrowdisposed next to the instructional information.

In FIG. 48, the user has returned to the menu screen shown in FIG. 44,as demonstrated by the RELAY 1 breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe DIFFRNTL option, which, as evidenced by the right-facing arrowdisplayed next to the DIFFRNTL option, may be selected by pressing nextbutton 50.

Moving to FIG. 49, the DIFFRNTL breadcrumb displayed within upperportion 40 of display 36 confirms that the user selected the DIFFRNTLoption in FIG. 48. Controller 18 (FIG. 1) provides, via intermediateportion 44 of display 36, a differential value to adjust. Lower portion42 of display 36 displays, courtesy of controller 18, instructionalinformation asking the user to enter a differential for relay 1. Thedifferential value for relay 1 can be increased or decreased using upbutton 46 and/or down button 48, as appropriate. Pressing next button 50will enter the value, as indicated by the right-facing arrow disposednext to the instructional information.

In FIG. 50, the user has returned to the menu screen shown in FIG. 44,as demonstrated by the RELAY 1 breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe SENSOR option, which, as evidenced by the right-facing arrowdisplayed next to the SENSOR option, may be selected by pressing nextbutton 50.

Moving to FIG. 51, the SENSOR breadcrumb displayed within upper portion40 of display 36 confirms that the user selected the SENSOR option inFIG. 50. Intermediate portion 44 of display 36 provides a list ofavailable options. In this particular screen, the user is able to selectbetween SENSOR A and SENSOR B. In other instances, depending onequipment setup, there may be additional options to choose from. Lowerportion 42 of display 36 provides instructional information asking theuser to select a sensor for relay 1. The user may toggle between thedisplayed options by pressing up button 46 and/or down button 48, asappropriate. Pressing next button 50 will enter the selection, asindicated by the right-facing arrow disposed next to the instructionalinformation.

In FIG. 52, the user has returned to the menu screen shown in FIG. 44,as demonstrated by the RELAY 1 breadcrumb information displayed withinupper portion 40 of display 36. In this case, the user has toggled orscrolled down to the HEAT/COOL option, which, as evidenced by theright-facing arrow displayed next to the HEAT/COOL option, may beselected by pressing next button 50.

Moving to FIG. 53, the HEAT/COOL breadcrumb displayed within upperportion 40 of display 36 confirms that the user selected the HEAT/COOLoption in FIG. 52. Intermediate portion 44 of display 36 provides a listof available options. In this particular screen, the user is able toselect between HEAT (RA) and COOL (DA). Lower portion 42 of display 36provides instructional information telling the user to select Heat orCool for relay 1. The user may toggle between the displayed options bypressing up button 46 and/or down button 48, as appropriate. Pressingnext button 50 will enter the selection, as indicated by theright-facing arrow disposed next to the instructional information.

In FIG. 54, the user has returned to the menu screen shown in FIG. 44,as demonstrated by the RELAY 1 breadcrumb displayed within upper portion40 of display 36. In this case, the user has toggled or scrolled down tothe EXIT option, which, as evidenced by the right-facing arrow displayednext to the EXIT option, may be selected by pressing next button 50.

In some cases, the options displayed at a particular menu screen maydepend on other equipment options, installations and the like. Forexample, FIG. 55 shows a menu screen similar to FIG. 43, as evidenced bythe PROGRAM breadcrumb displayed within upper portion 40 of display 36.Similarly, FIG. 56 has RELAY 1 breadcrumb information similar to that ofFIG. 44.

In FIG. 56, however, the options provided within intermediate portion 44of display 36 are different that shown in FIG. 44. In this case, theuser is provided a different list of available options for relay 1. Asbefore, the user may toggle or scroll through the list of availableoptions using up button 46 and/or down button 48, as desired.

The invention should not be considered limited to the particularexamples described above, but rather should be understood to cover allaspects of the invention as set out in the attached claims. Variousmodifications, equivalent processes, as well as numerous structures towhich the invention can be applicable will be readily apparent to thoseof skill in the art upon review of the instant specification.

1. A temperature controller, comprising: a controller having a controlalgorithm for controlling one or more pieces of HVAC equipment remotefrom the temperature controller; a user interface coupled to thecontroller, the user interface having a display and a number of buttonsthat are separate from the display, the number of buttons positioned ina button region that is located below the display, the number of buttonsincluding: an up button and a down button; a back button and a nextbutton; a program menu button for initiating a programming mode, thecontroller displaying a hierarchical menu structure in the programmingmode, wherein the hierarchical menu structure is traversed using the upbutton, the down button, the next button and the back button, thehierarchical menu structure includes a number of menus, wherein in theprogramming mode, at least some of the menus include a first label forlabeling the current active menu on the display, and one or more secondlabels each for labeling a currently available sub-menu; a home buttonfor causing the controller to display a home page on the display; thehome button and the program menu button positioned in the button regionbelow the display; the up button positioned above the down button; thenext button positioned to the right of the back button; the next buttonpositioned to the right of the up button and down button; and the backbutton positioned to the left of the up button and the down button. 2.The temperature controller of claim 1, wherein in the programming mode,one or more of the menus query a user to enter a value, and wherein oneor more of the up button, down button, next button and back button areused to enter the value.
 3. The temperature controller of claim 1,wherein in the programming mode, one or more of the menus query a userto select a value from a list of values, and wherein one or more of theup button, down button, next button and back button are used to selectthe value from the list of values.
 4. The temperature controller ofclaim 1, wherein the current active menu includes a first indicatorassociated with the first label for indicating that a menu immediatelyabove the current active menu can be activated by depressing the backbutton.
 5. The temperature controller of claim 4, wherein a desired oneof the one or more second labels can be selected by using the up buttonand/or down button, and wherein the current active menu includes asecond indicator associated with a selected one of the one or moresecond labels for indicating that a corresponding sub-menu may beactivated by depressing the next button.
 6. The temperature controllerof claim 5, wherein the first label resembles a left pointing arrow. 7.The temperature controller of claim 6, wherein the second labelresembles a right pointing arrow.
 8. The temperature controller of claim1, wherein the control algorithm has a number of programmable controlparameters, and wherein the home page displays a value of one or more ofthe control parameters.
 9. The temperature controller of claim 8,wherein one of the number of programmable control parameters includes aset point, and wherein the home page displays a value of the set point.10. The temperature controller of claim 1, wherein the control algorithmaccepts one or more sensor input values, and wherein the home pagedisplays a value of one or more of the sensor input values.
 11. Thetemperature controller of claim 1, wherein the control algorithmprovides one or more control outputs, and wherein the home page displaysa value of one or more of the control outputs.
 12. The temperaturecontroller of claim 1, wherein the up button, the down button, the nextbutton and the back button are collectively laterally centered in thebutton region.
 13. The temperature controller of claim 1, wherein thehome button is positioned in the upper left of the button region. 14.The temperature controller of claim 1, wherein the program menu buttonis positioned in the upper right of the button region.
 15. A temperaturecontroller, comprising: a controller having a control algorithm forcontrolling one or more pieces of HVAC equipment remote from thetemperature controller; a user interface coupled to the controller, theuser interface having a display and a number of buttons that areseparate from the display, the number of buttons positioned in a buttonregion that is located below the display, the number of buttonsincluding: an up button and a down button; a back button and a nextbutton; a program menu button for initiating a programming mode, thecontroller displaying a hierarchical menu structure in the programmingmode, wherein the hierarchical menu structure is traversed using the upbutton, the down button, the next button and the back button; a homebutton for causing the controller to display a home page on the display;the home button and the program menu button positioned in the buttonregion below the display; the up button positioned above the downbutton; the next button positioned to the right of the back button; thenext button positioned to the right of the up button and down button;the back button positioned to the left of the up button and the downbutton; wherein the hierarchical menu structure includes a number ofmenus, and wherein in the programming mode, at least some of the menusinclude a first label for labeling the current active menu on thedisplay, and one or more second labels each for labeling a currentlyavailable sub-menu; wherein in the programming mode, one or more of themenus query a user to enter a value, and wherein one or more of the upbutton, down button, next button and back button are used to enter thevalue; and wherein in the programming mode, one or more of the menusquery a user to select a value from a list of values, and wherein one ormore of the up button, down button, next button and back button are usedto select the value from the list of values.
 16. The temperaturecontroller of claim 15, further comprising: a housing having a front, aback, and side walls extending between the front and back, the front ofthe housing have a height dimension and a width dimension, wherein theheight dimension of the front of the housing is at least twice as largeas a width dimension.
 17. The temperature controller of claim 16,wherein the display has a height dimension and a width dimension,wherein the height dimension of the display is at least 1.5 times aslarge as a width dimension of the display
 18. The temperature controllerof claim 15, wherein the height dimension of the front of the housing isat least three times as large as a width dimension
 19. The temperaturecontroller of claim 16, wherein the up button, down button, back button,next button, program menu button and home button are the only buttons ona front of the thermostat.
 20. A thermostat, comprising: a housinghaving a front, a back, and side walls extending between the front andback, the front of the housing have a height dimension and a widthdimension, wherein the height dimension of the front of the housing isat least twice as large as a width dimension; a display on the front ofthe housing, the display further having a height dimension and a widthdimension, wherein the height dimension of the display is at least 1.5times as large as a width dimension of the display; a button region onthe front of the housing positioned below the display, the button regionincluding: an up button and a down button; a back button and a nextbutton; a program menu button for initiating a programming mode of thetemperature controller, the temperature controller displaying ahierarchical menu structure in the programming mode, wherein thehierarchical menu structure is traversed using the up button, the downbutton, the next button and the back button; and a home button forcausing a home page to be displayed on the display.